//
//  BVPopoverLocationVIew.m
//  BVHomeScene
//
//  Created by 崔晋 on 2019/10/28.
//

#import "BVPopoverLocationVIew.h"
#import "BVPlaygroundSearchTableViewCell.h"

@interface BVPopoverLocationVIew ()<UITableViewDelegate, UITableViewDataSource>

@property (strong, nonatomic) UITableView *tableView;

@end

@implementation BVPopoverLocationVIew

- (void)setupViews {
    [super setupViews];
    [self.contentView addSubview:self.tableView];
}

- (void)setDataSource:(NSArray<BVMetaArena *> *)dataSource {
    _dataSource = dataSource;
    NSMutableArray<BVMetaArena *> *temptArray = [NSMutableArray arrayWithArray:_dataSource];
    BVMetaArena *model = [[BVMetaArena alloc] init];
    model.name = @"所有场次";
    [temptArray insertObject:model atIndex:0];
    _dataSource = temptArray.copy;
    [self.tableView reloadData];
}

#pragma mark - tableview delegate and datasource
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return self.dataSource.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    BVPlaygroundSearchTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"BVPlaygroundSearchTableViewCell" forIndexPath:indexPath];
    [cell configWithModel:self.dataSource[indexPath.row]];
    __weak typeof(self)weakSelf = self;
    cell.clickBlock = ^{
        if (weakSelf.selectLocation) {
            weakSelf.selectLocation(indexPath, weakSelf.dataSource[indexPath.row]);
        }
    };
    return cell;
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return [BVPlaygroundSearchTableViewCell cellHeight];
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    if (self.selectLocation) {
        self.selectLocation(indexPath, self.dataSource[indexPath.row]);
    }
}


- (UITableView *)tableView {
    if (!_tableView) {
        _tableView = [[UITableView alloc] initWithFrame:self.contentView.bounds style:UITableViewStylePlain];
        _tableView.delegate = self;
        _tableView.dataSource = self;
        [_tableView registerNib:[UINib nibWithNibName:@"BVPlaygroundSearchTableViewCell" bundle:[BVBundle bundleWithClass:self.class name:BV_BUNDLE_HOME_SCENE_MODULE]] forCellReuseIdentifier:@"BVPlaygroundSearchTableViewCell"];
        _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
        _tableView.backgroundColor = [UIColor whiteColor];
    }
    return _tableView;
}

@end
